package ms_am;

import java.util.Date;

/**
 * @Author zkh
 * @Date 2023/2/21 10:44
 * @PackageName:ms_am
 * @ClassName: supermarket
 * @Description: 本类应用于计算水果价格
 * @Version 1.0
 */
public class supermarket {
    public static void main(String[] args) {
        // 第一题 苹果8*2 = 16 + 草莓13*8=104  期望 120
        double firstPrice = calculatePrice(2,8);
        System.out.println("第一题：您本次消费"+firstPrice+"元");

        // 第二题 在第一题的基础上增加 芒果20*10 = 200 期望 320
        double secondPrice = calculatePrice(2,8,10);
        System.out.println("第二题：您本次消费"+secondPrice+"元");

        // 第三题 在第二题的基础上 草莓打8折 草莓总价减去20%为20.8 比第二题总价少20.8 期望  299.2
        double thirdPrice = calculateTotalPrice(2,8,10);
        System.out.println("第三题：您本次消费"+thirdPrice+"元");

        // 第四题 在第三题的基础上增加 满100减10的活动，所以消费超过一百则两者相差10元，期望  289.2
        double fourthPrice = calculateTotalDecrementPrice(2,8,10);
        System.out.println("第四题：您本次消费"+fourthPrice+"元");
    }
    /**
     * 第一题：有一家超市，出售苹果和草莓。其中苹果 8 元/斤，草莓 13 元/斤。
     * 现在顾客 A 在超市购买了若干斤苹果和草莓，需要计算一共多少钱？
     * 请编写函数，对于 A 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
     * @param apples 苹果斤数
     * @param strawberries 草莓斤数
     * @return 总价
     */
    public static double calculatePrice(int apples, int strawberries)
    {
        double applePrice = 8.0; // 苹果单价
        double strawberryPrice = 13.0; // 草莓单价
        double total = apples * applePrice + strawberries * strawberryPrice; // 计算总价
        return total;
    }

    /**
     * 第二题：超市增加了一种水果芒果，其定价为 20 元/斤。
     * 现在顾客 B 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
     * 请编写函数，对于 B 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
     * @param apples 苹果斤数
     * @param strawberries 草莓斤数
     * @param mangoes 芒果斤数
     * @return 总价
     */
    public static double calculatePrice(int apples, int strawberries, int mangoes) {
        double applePrice = 8.0; // 苹果单价
        double strawberryPrice = 13.0; // 草莓单价
        double mangoPrice = 20.0; // 芒果单价
        double total = apples * applePrice + strawberries * strawberryPrice + mangoes * mangoPrice; // 计算总价 return total;
        return total;
    }

    /**
     * 第三题 ：超市做促销活动，草莓限时打 8 折。
     * 现在顾客 C 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
     * 请编写函数，对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
     * @param apples 苹果斤数
     * @param strawberries 草莓斤数
     * @param mangoes 芒果斤数
     * @return 总价
     */
    public static double calculateTotalPrice(int apples, int strawberries, int mangoes) {
        double applePrice = 8.0; // 苹果单价
        double strawberryPrice = 13.0; // 草莓单价
        //todo 约定时间内打折,此处需要做时间处理
        Date time = new Date();
        if(time.equals(time)){
            strawberryPrice = strawberryPrice*0.8; // 草莓打折后的价格
        }
        double mangoPrice = 20.0; // 芒果单价
        double totalPrice = apples * applePrice + strawberries * strawberryPrice + mangoes * mangoPrice;
        return totalPrice;
    }


    /**
     *第四题 促销活动效果明显，超市继续加大促销力度，购物满 100 减 10 块。
     * 现在顾客 D 在超市购买了若干斤苹果、 草莓和芒果，需计算一共需要多少钱？
     * 请编写函数，对于 C 购买的水果斤数 (水果斤数为大于等于 0 的整数)，计算并返回所购买商品的总价。
     * @param apples
     * @param strawberries
     * @param mangoes
     * @return 总价
     */
    public static double calculateTotalDecrementPrice(int apples, int strawberries, int mangoes) {
        double applePrice = 8.0; // 苹果单价
        double strawberryPrice = 13.0; // 草莓单价
        //todo 约定时间内打折,此处需要做时间处理
        Date time = new Date();
        if(time.equals(time)){
            strawberryPrice = strawberryPrice*0.8; // 草莓打折后的价格
        }
        double mangoPrice = 20.0; // 芒果单价
        double totalPrice = apples * applePrice + strawberries * strawberryPrice + mangoes * mangoPrice;
        //继续加大促销力度，购物满 100 减 10 块
        if(totalPrice>100.0){
            totalPrice-=10.0;
        }
        return totalPrice;
    }



}
